#ifndef BANGOEVENT_H
#define BANGOEVENT_H

#include "BangoNokiaQTLibrary_global.h"
#include "BangoNameValuePair.h"
#include "BangoFieldNames.h"
#include "BangoStatic.h"

class BangoEvent
{

private:
    int _profileId;
    int _eventId;
    QString _eventName;
    QString _eventDetail;
    QString _eventValue;
    QString _eventTime;
    QString _eventLocalTime;
    QString _errorId;
    int _errorLevel;
    int _connectionType;
    QString _operatorConnectionType;
    QVector<BangoNameValuePair> _eventParameters;
    bool _eventPosted;

public:
    void ProfileID(int profileId){_profileId = profileId;}
    int ProfileID(){return _profileId;}
    void EventID(int eventId){_eventId = eventId;}
    int EventID(){return _eventId;}
    void EventName(QString eventName){_eventName = eventName;}
    QString EventName(){return _eventName;}
    void EventDetail(QString eventDetail){_eventDetail = eventDetail;}
    QString EventDetail(){return _eventDetail;}
    void EventValue(QString eventValue){_eventValue = eventValue;}
    QString EventValue(){return _eventValue;}
    void EventTime(QString eventTime){_eventTime = eventTime;}
    QString EventTime(){return _eventTime;}
    void EventLocalTime(QString eventLocalTime){_eventLocalTime = eventLocalTime;}
    QString EventLocalTime(){return _eventLocalTime;}
    void ErrorID(QString errorId){_errorId = errorId;}
    QString ErrorID(){return _errorId;}
    void ErrorLevel(int errorLevel){_errorLevel = errorLevel;}
    int ErrorLevel(){ return _errorLevel;}
    void ConnectionType(int connectionType){ _connectionType = connectionType; }
    int ConnectionType(){return _connectionType; }
    void OperatorConnectionType(QString operatorConnectionType){ _operatorConnectionType = operatorConnectionType; }
    QString OperatorConnectionType(){return _operatorConnectionType; }
    void EventParameters(QVector<BangoNameValuePair> eventParameters){ _eventParameters = eventParameters;}
    QVector<BangoNameValuePair> EventParamters(){return _eventParameters;}
    void EventPosted(bool eventPosted){_eventPosted = eventPosted;}
    bool EventPosted(){return _eventPosted;}
    QVariantMap GetEventDetails();

    BangoEvent();
    BangoEvent(int eventId, int connectionType, QString operatorConnectionType, QString eventName, QString eventValue, QString eventDetail, QString eventTime, QString eventLocalTime, int errorLevel,
               QString errorID, QVector<BangoNameValuePair> eventParameters );
    ~BangoEvent();
};

#endif // BANGOEVENT_H
